package week3;

import java.util.Scanner;

/*
使用循环队列输出杨辉三角
（1）用数组实现循环队列（要考虑扩容问题，否则不加分）；
（2）输出杨辉三角；
（3）代码运行结果添加学号水印，并上传；代码传到码云，附上码云链接。
 */
public class Pascal {
    public static void main(String[] args) {
        CircularArrayQueue queue = new CircularArrayQueue();
//        queue.enqueue(0);
//        queue.enqueue(1);

        String result = "";
        int n = 1,m;//  n是行数，m是个数。
        int p, q, k ;
        Scanner a = new Scanner(System.in);
        System.out.println("请输入行数：");
        k = a.nextInt();

        while (n <= k) {
            if (n == 1) {
                queue.enqueue(1);
            }
            if (n >= 2) {
                for( m = 1; m <= n; m++) {
                    if (m == 1) {
                        queue.enqueue(1);

                    }
                    if (m == n) {
                        queue.enqueue(1);
                        queue.dequeue();

                    }
                    if (1 < m && m < n) {
                        p = (int)queue.dequeue();
                        q = (int) queue.first();
                        queue.enqueue(p + q);

                    }
                }
            }
           result += queue.toString() + "\n";
            n++;
        }
        System.out.println("杨辉三角形为：");
        System.out.println(result);
    }
}
